home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / DSPCO.z / DSPCO
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSPPPPCCCCOOOO((((3333FFFF))))                                                            DDDDSSSSPPPPCCCCOOOO((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSPCO   - DSPCO factors a double precision symmetric matrix stored in
  10.      packed form by elimination with symmetric pivoting and estimates the
  11.      condition of the matrix.
  12.  
  13.      IF  RCOND  is not needed, DSPFA is slightly faster.  To solve  A*X = B ,
  14.      follow DSPCO by DSPSL.  To compute  INVERSE(A)*C , follow DSPCO by DSPSL.
  15.      To compute  INVERSE(A) , follow DSPCO by DSPDI.  To compute
  16.      DETERMINANT(A) , follow DSPCO by DSPDI.  To compute  INERTIA(A), follow
  17.      DSPCO by DSPDI.
  18.  
  19.  
  20. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  21.       SUBROUTINE DSPCO(AP,N,KPVT,RCOND,Z)
  22.  
  23. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  24.      On Entry
  25.  
  26.      AAAAPPPP DOUBLE PRECISION (N*(N+1)/2)
  27.         the packed form of a symmetric matrix  A .  The
  28.         columns of the upper triangle are stored sequentially
  29.         in a one-dimensional array of length  N*(N+1)/2 .
  30.         See comments below for details.
  31.  
  32.      NNNN INTEGER
  33.         the order of the matrix  A .  Output
  34.  
  35.      AAAAPPPP a block diagonal matrix and the multipliers which
  36.         were used to obtain it stored in packed form.
  37.         The factorization can be written  A = U*D*TRANS(U)
  38.         where  U  is a product of permutation and unit
  39.         upper triangular matrices , TRANS(U) is the
  40.         transpose of  U , and  D  is block diagonal
  41.         with 1 by 1 and 2 by 2 blocks.
  42.  
  43.      KKKKPPPPVVVVTTTT INTEGER(N)
  44.         an integer vector of pivot indices.
  45.  
  46.      RRRRCCCCOOOONNNNDDDD DOUBLE PRECISION
  47.         an estimate of the reciprocal condition of  A .
  48.         For the system  A*X = B , relative perturbations
  49.         in  A  and  B  of size  EPSILON  may cause
  50.         relative perturbations in  X  of size  EPSILON/RCOND .
  51.         If  RCOND  is so small that the logical expression
  52.         1.0 + RCOND .EQ. 1.0
  53.         is true, then  A  may be singular to working
  54.         precision.  In particular,  RCOND  is zero  if
  55.         exact singularity is detected or the estimate
  56.         underflows.
  57.  
  58.      ZZZZ DOUBLE PRECISION(N)
  59.         a work vector whose contents are usually unimportant.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDSSSSPPPPCCCCOOOO((((3333FFFF))))                                                            DDDDSSSSPPPPCCCCOOOO((((3333FFFF))))
  71.  
  72.  
  73.  
  74.         If  A  is close to a singular matrix, then  Z  is
  75.         an approximate null vector in the sense that
  76.         NORM(A*Z) = RCOND*NORM(A)*NORM(Z) .  Packed Storage The following
  77.      program segment will pack the upper triangle of a symmetric matrix.
  78.         K = 0
  79.         DO 20 J = 1, N
  80.         DO 10 I = 1, J
  81.         K = K + 1
  82.         AP(K) = A(I,J)
  83.         10    CONTINUE
  84.         20 CONTINUE LINPACK.  This version dated 08/14/78 .  Cleve Moler,
  85.      University of New Mexico, Argonne National Lab.  Subroutines and
  86.      Functions LINPACK DSPFA BLAS DAXPY,DDOT,DSCAL,DASUM Fortran
  87.      DABS,DMAX1,IABS,DSIGN
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.